Window xwindow, xrootwindow;
ClutterEventType event_type = clutter_event_type (event);
int width, height;
+ int root_x, root_y;
g_return_if_fail (event_type == CLUTTER_BUTTON_RELEASE ||
event_type == CLUTTER_KEY_PRESS ||
}
na_xembed_get_size (NA_XEMBED (tray_child), &width, &height);
+ na_xembed_get_root_position (NA_XEMBED (tray_child), &root_x, &root_y);
mtk_x11_error_trap_push (xdisplay);
xrootwindow = XDefaultRootWindow (xdisplay);
xcevent.time = clutter_event_get_time (event);
xcevent.x = width / 2;
xcevent.y = height / 2;
- xcevent.x_root = xcevent.x;
- xcevent.y_root = xcevent.y;
+ xcevent.x_root = root_x + xcevent.x;
+ xcevent.y_root = root_y + xcevent.y;
xcevent.mode = NotifyNormal;
xcevent.detail = NotifyNonlinear;
xcevent.same_screen = True;
*height = priv->request_height;
}
+void
+na_xembed_get_root_position (NaXembed *xembed,
+ int *x,
+ int *y)
+{
+ NaXembedPrivate *priv = na_xembed_get_instance_private (xembed);
+
+ if (x)
+ *x = priv->root_x;
+ if (y)
+ *y = priv->root_y;
+}
+
static void
get_pixel_details (unsigned long pixel_mask,
int *shift,